using Godot;
using System;
using System.ComponentModel;

public abstract partial class BehaviorBase : Node

{

    /*public virtual BehaviorResult Tick(Node _actor)

    {

        GD.Print("我这里是c#的tick,以及传入的节点名字" + _actor.Name);

        return BehaviorResult.SUCCESS;

    }*/
    protected string animationName = "";
    protected int nodeNo = 0;

    public abstract BehaviorResult tick(Node _actor, Node _blackBoard);



    public virtual void interrupt(Node _actor)
    {

    }



    public virtual void beforeRun(Node _actor)
    {

    }



    public virtual void afterRun(Node _actor)
    {

    }

    public void SetAnimeName(string name)
    {
        animationName = name;
    }

    public void SetNodeNo(int no)
    {
        nodeNo = no;
    }

}

public enum BehaviorResult

{

    SUCCESS,

    FAILURE,

    RUNNING

}